#include<bits/stdc++.h>
#define ios ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define debug  freopen("in.txt","r",stdin),freopen("out.txt","w",stdout);
#define fs first
#define sc second
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int maxn = 1e6+10;
using namespace std;

int N,K;
int w[maxn],min_w = 1e9;
int f[maxn][2];

bool dfs(int k,int p){
    if(k<min_w) return 0;
    if(f[k][p] != -1) return f[k][p];
    int nx = 1;
    for(int i = 1;i<=N;i++) if(k>=w[i]) nx = nx & dfs(k-w[i],p^1);
    return f[k][p] = nx ^ 1;
}

int main(){
    // debug;
    ios;

    cin>>N>>K;
    for(int i = 1;i<=N;i++) cin>>w[i],min_w = min(min_w,w[i]);
    memset(f,-1,sizeof f);
    dfs(K,0);
    if(f[K][0] == 1) cout<<"First\n";
    else cout<<"Second\n";
    
    return 0;
}
